Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


Chapter 21
The Oracle Parallel Server System

The Oracle parallel server system is an option to the Oracle7 Server; it allows you to link several computers together to form a cluster. A cluster is a group of computers that work together to provide a unified service. In the case of the Oracle parallel server cluster, these systems are linked together to form one large RDBMS system.

Primary among the reasons many people choose the Oracle parallel server system is fault tolerance, but many also use the parallel server for the increased performance. But an Oracle parallel server system can only achieve good performance scalability if you properly design and configure the system.

The Oracle parallel server system is made up of several nodes or cluster members, each of which runs an Oracle instance. Each of these instances accesses the same database through a shared disk system. Because the redo log files and rollback segments also reside on the shared disk system, it is possible for a node to perform instance recovery on another cluster member in the event of a failure. If a node fails, the other nodes in the cluster are not affected.

Not all applications benefit from the use of the Oracle Parallel Server option. Applications that are particularly well suited for the Parallel Server option have the following attributes:

  Very little or no update activity. The lack of activity reduces the amount of locking involved and allows for a high level of concurrency.
  Applications are partitionable. Applications can be partitioned so that users who update a certain table or set of tables use a single server, while other users who update unrelated tables can use another server. Partitioning the application cuts down on the contention between servers.
  Very large applications. Large applications that usually do not see a high number of cache hits can benefit from the Parallel Server option. The increased CPU power of the cluster shows increased performance and because the data is not likely in cache, this indicates that a PCM lock is not likely on that data already.
  Query-intensive applications. Applications with many large queries can take advantage of both the Parallel Server option and the Parallel Query option.

This chapter presents some of the techniques involved in partitioning data and users to achieve the best performance possible from the Oracle parallel server system. Before you look at the specifics involved in configuring the parallel server system, the following section reviews the architecture of this option.

Oracle Parallel Server Architecture

With the Oracle Parallel Server option, you can cluster or join several systems together to form one larger RDBMS system. Because of the addition of parallel server nodes, the Oracle parallel server system offers fault-tolerance features as well as performance increases.

The Oracle parallel server system is made up of several nodes that access the same database through a shared disk system. Because the redo log files and rollback segments also reside on this shared disk system, one node can perform instance recovery on another cluster member in the event of a failure. If a node fails, the other nodes in the cluster are not affected.

This fault tolerance feature eliminates downtime in the event of a node failure. If the system is properly designed, you can obtain performance increases by adding additional nodes to the cluster.

To take advantage of the scalability of the Oracle parallel server system, you should understand how the system operates. The parallel server system allows multiple Oracle instances to share the same database through a parallel cache management system and a shared disk I/O system (see Figure 21.1).


Figure 21.1  The Oracle parallel server system.

The Oracle Parallel Server option uses a sophisticated locking mechanism in conjunction with a shared disk subsystem to allow multiple instances to access the same data. Communication between the computers is done through a server interconnect, which usually consists of one or more high-speed network devices that communicate at a very low level. Using the traditional network stack does not provide the performance required for a cluster interconnect.

The server interconnect provides two functions: It is used to communicate locking information and to provide a system heartbeat. The system heartbeat communicates to other systems in the cluster that the system is still operational. If the heartbeat message does not arrive, other servers in the cluster assume that the system is nonfunctional and roll back transactions that have not been committed.

Locking is performed through a process called the Distributed Lock Manager (DLM). The DLM is responsible for locking data that is being modified so that it cannot be modified in another instance. Locking ensures data integrity across the entire cluster. A data block or group of blocks is locked until another instance needs that data. The DLM provides the following functionality:

  Keeps track of resource ownership
  Queues requests for PCM locks
  Notifies an instance that a resource is requested
  Notifies the requesting instance that the resource has been acquired

Because the locks are held until needed by another instance, if you can partition your users so that users accessing data in a particular table all use the same instance to access that data, you will reduce lock contention. Performance can be enhanced by carefully partitioning the data and the users. If you partition the data into update-intensive and read-intensive tables, you will also benefit.


TIP:  Because the PCM locks are held until the data covered by those locks is requested by another instance, partitioning your data to reduce the amount of data that is accessed by different nodes in the cluster can greatly improve performance.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.